/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.escom.info.scanner.jsf;

import com.escom.administracion.dao.UsuarioAdministradorDAO;
import com.escom.administracionperfiles.hbm.dto.UsuarioAdministrador;
import com.escom.cliente.exception.DAOException;
import com.escom.info.scanner.jsf.util.JsfUtil;
import java.io.Serializable;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author yamil
 */
public class UsuarioAdministradorController implements Serializable{

    private UsuarioAdministradorDAO facade;
    private UsuarioAdministrador current;
    private List<UsuarioAdministrador>  listaUsuarioAdministradors;

    public UsuarioAdministrador getSelected() {
         if(current==null){
             current=new UsuarioAdministrador();

         }

        return current;
    }

    public void setCurrent(UsuarioAdministrador current) {
        this.current = current;
    }

    public UsuarioAdministradorDAO getFacade() {
        return facade;
    }

    public void setFacade(UsuarioAdministradorDAO facade) {
        this.facade = facade;
    }




public String prepareCreate(){
        current=new UsuarioAdministrador();
        return "Create";
    }

    public List<UsuarioAdministrador> getListaUsuarioAdministradors(){
        try {
            listaUsuarioAdministradors = getFacade().findAll();

        } catch (DAOException ex) {
            Logger.getLogger(UsuarioAdministradorController.class.getName()).log(Level.SEVERE, null, ex);
        }
        return listaUsuarioAdministradors;
    }

    public String create(){
        try {

            current.setActividad(current.getActividad());
            current.setContrasenia(current.getContrasenia());
            current.setDescripcion(current.getDescripcion());
            current.setUsuario(current.getUsuario());
            current.setNombre(current.getNombre());
            getFacade().create(current);
            JsfUtil.addSuccessMessage("UsuarioAdministrador fue capturado Satisfactoriamente");
        } catch (DAOException ex) {
            Logger.getLogger(UsuarioAdministradorController.class.getName()).log(Level.SEVERE, null, ex);
            JsfUtil.addErrorMessage("Error el usuario administrador no ha sido creado"); //AQUI ESTA
        }
        return "View";
    }

    public String update(){
          try {
            current.setActividad(current.getActividad());
            current.setContrasenia(current.getContrasenia());
            current.setDescripcion(current.getDescripcion());
            current.setUsuario(current.getUsuario());
            current.setNombre(current.getNombre());
            getFacade().edit(current);
            JsfUtil.addSuccessMessage("UsuarioAdministrador actualizado Satisfactoriamente");
        } catch (Exception ex) {
            Logger.getLogger(UsuarioAdministradorController.class.getName()).log(Level.SEVERE, null, ex);
            JsfUtil.addErrorMessage("Error el usuario administrador no ha sido actualizado"); //AQUI ESTA
        }
          return "View";
    }

    public String prepareEdit(UsuarioAdministrador dominio){
        current=dominio;
        return "Edit";
    }

    public String prepareView(UsuarioAdministrador dominio){
        current=dominio;

        return "View";
    }

    public void prepareDestroy(UsuarioAdministrador dominio){
        try {
            //current=dominio;
            getFacade().remove(dominio);
            JsfUtil.addSuccessMessage("UsuarioAdministrador eliminado Satisfactoriamente");
        } catch (DAOException ex) {
            Logger.getLogger(UsuarioAdministradorController.class.getName()).log(Level.SEVERE, null, ex);
            JsfUtil.addErrorMessage("Error el usuario administrador no ha sido actualizado"); //AQUI ESTA
        }
    }

    public String prepareList(){
        return "List";
    }
}
